#include <bits/stdc++.h>
using namespace std;
using uint=unsigned int;
using ll=long long;
using ull=unsigned long long;
using i128=__int128;
const int N=1e6+5;

bool cmp(pair<int,int> a,pair<int,int> b){
    return a.second>b.second;
}

int hang[1010],lie[1010];

void solve(){
    int m,n,k,l,d;
    cin>>m>>n>>k>>l>>d;
    memset(hang,0,sizeof(hang));
    memset(lie,0,sizeof(lie));
    for(int i=0;i<d;i++){
        int x,y,p,q;
        cin>>x>>y>>p>>q;
        if(x==p)lie[min(y,q)]++;
        if(y==q)hang[min(x,p)]++;
    }
    vector<pair<int,int>> vh;
    vector<pair<int,int>> vl;
    for(int i=0;i<1010;i++){
        if(hang[i]>0)vh.push_back({i,hang[i]});
    }
    for(int i=0;i<1010;i++){
        if(lie[i]>0)vl.push_back({i,lie[i]});
    }
    sort(vh.begin(),vh.end(),cmp);
    sort(vl.begin(),vl.end(),cmp);
    vector<int> ansh,ansl;
    for(int i=0;i<k;i++){
        ansh.push_back(vh[i].first);
    }
    for(int i=0;i<l;i++){
        ansl.push_back(vl[i].first);
    }
    sort(ansh.begin(),ansh.end());
    sort(ansl.begin(),ansl.end());
    for(int i=0;i<ansh.size();i++){
        if(i)cout<<" ";
        cout<<ansh[i];
    }
    cout<<endl;
    for(int i=0;i<ansl.size();i++){
        if(i)cout<<" ";
        cout<<ansl[i];
    }
    return;
}

int main(){
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    solve();

    return 0;
}